GLTFLoader: Compute world matrices before calling onLoad()
.
#27877
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related issue: #14499 (comment)
Description
GLTFLoader
now computes the world matrices forgltf.scene
and its descendant nodes before callingonLoad()
. That should hopefully fix issues like #14499 (comment) where devs report wrong bounding volumes when computing them in theonLoad()
callback.Some background: This change would not be required if bounding volumes (and other logic) could request up-to-date world matrices in their routines (e.g. with a special getter). With the current world matrix computations in
three.js
, there is no performant way to ensure that, see #21411.Of course the issue can also be avoided if devs remember to update their world matrices correctly but this task or responsibility is easy to overlook.